package com.vhall.component.controller.preparation.facade;

import com.vhall.component.entity.preparation.InviteCardsEntity;
import com.vhall.component.entity.preparation.vo.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @author guoxin.wang
 * @date 2021/7/8 15:30
 */
@FeignClient(value = "InviteConsoleFacade", path = "/v4/invite/console")
public interface InviteConsoleFacade {

    /**
     * 设置邀请卡
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @PostMapping(value = "/set-invite-card")
    SetInviteCardRespVO<InviteCardsEntity> setInviteCard(@Validated SetInviteCardReqVO reqVO);

    /**
     * 修改邀请卡
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @PostMapping(value = "/update-invite-card")
    Boolean updateInviteCard(@Validated UpdateInviteCardReqVO reqVO);

    /**
     * 邀请卡开关
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @PostMapping(value = "/switch-invite-card")
    String switchInviteCard(@Validated SwitchInviteCardReqVO reqVO);

    /**
     * 封面上传
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @PostMapping(value = "/upload")
    UploadInviteCardRespVO upload(UploadInviteCardReqVO reqVO);

}
